package com.greenold.checkInConfig.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 入住配置对象 checkin_config
 * 
 * @author ruoyi
 * @date 2025-10-19
 */
public class CheckinConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 老人ID */
    @Excel(name = "老人ID")
    private String elderId;

    /** 入住开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 入住结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 护理等级ID */
    @Excel(name = "护理等级ID")
    private String careLevelId;

    /** 床位号 */
    @Excel(name = "床位号")
    private String bedNo;

    /** 费用开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "费用开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date feeStartTime;

    /** 费用结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "费用结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date feeEndTime;

    /** 押金（元） */
    @Excel(name = "押金", readConverterExp = "元=")
    private BigDecimal deposit;

    /** 护理费用（元/月） */
    @Excel(name = "护理费用", readConverterExp = "元=/月")
    private BigDecimal careFee;

    /** 床位费用（元/月） */
    @Excel(name = "床位费用", readConverterExp = "元=/月")
    private BigDecimal bedFee;

    /** 其他费用（元/月） */
    @Excel(name = "其他费用", readConverterExp = "元=/月")
    private BigDecimal otherFee;

    /** 医保支付（元/月） */
    @Excel(name = "医保支付", readConverterExp = "元=/月")
    private BigDecimal insurancePay;

    /** 政府补贴（元/月） */
    @Excel(name = "政府补贴", readConverterExp = "元=/月")
    private BigDecimal govSubsidy;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date updatedAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String createdBy;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String updatedBy;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extend1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extend2;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setElderId(String elderId) 
    {
        this.elderId = elderId;
    }

    public String getElderId() 
    {
        return elderId;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setCareLevelId(String careLevelId) 
    {
        this.careLevelId = careLevelId;
    }

    public String getCareLevelId() 
    {
        return careLevelId;
    }

    public void setBedNo(String bedNo) 
    {
        this.bedNo = bedNo;
    }

    public String getBedNo() 
    {
        return bedNo;
    }

    public void setFeeStartTime(Date feeStartTime) 
    {
        this.feeStartTime = feeStartTime;
    }

    public Date getFeeStartTime() 
    {
        return feeStartTime;
    }

    public void setFeeEndTime(Date feeEndTime) 
    {
        this.feeEndTime = feeEndTime;
    }

    public Date getFeeEndTime() 
    {
        return feeEndTime;
    }

    public void setDeposit(BigDecimal deposit) 
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit() 
    {
        return deposit;
    }

    public void setCareFee(BigDecimal careFee) 
    {
        this.careFee = careFee;
    }

    public BigDecimal getCareFee() 
    {
        return careFee;
    }

    public void setBedFee(BigDecimal bedFee) 
    {
        this.bedFee = bedFee;
    }

    public BigDecimal getBedFee() 
    {
        return bedFee;
    }

    public void setOtherFee(BigDecimal otherFee) 
    {
        this.otherFee = otherFee;
    }

    public BigDecimal getOtherFee() 
    {
        return otherFee;
    }

    public void setInsurancePay(BigDecimal insurancePay) 
    {
        this.insurancePay = insurancePay;
    }

    public BigDecimal getInsurancePay() 
    {
        return insurancePay;
    }

    public void setGovSubsidy(BigDecimal govSubsidy) 
    {
        this.govSubsidy = govSubsidy;
    }

    public BigDecimal getGovSubsidy() 
    {
        return govSubsidy;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setExtend1(String extend1) 
    {
        this.extend1 = extend1;
    }

    public String getExtend1() 
    {
        return extend1;
    }

    public void setExtend2(String extend2) 
    {
        this.extend2 = extend2;
    }

    public String getExtend2() 
    {
        return extend2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("elderId", getElderId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("careLevelId", getCareLevelId())
            .append("bedNo", getBedNo())
            .append("feeStartTime", getFeeStartTime())
            .append("feeEndTime", getFeeEndTime())
            .append("deposit", getDeposit())
            .append("careFee", getCareFee())
            .append("bedFee", getBedFee())
            .append("otherFee", getOtherFee())
            .append("insurancePay", getInsurancePay())
            .append("govSubsidy", getGovSubsidy())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("remark", getRemark())
            .append("extend1", getExtend1())
            .append("extend2", getExtend2())
            .toString();
    }
}
